Erreur 1064

Réduire
Ce sujet est fermé.
X
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] Erreur 1064

    Bonjour à toute la communauté. je tente le passage de 205 à 3.3 mais j'ai maintenant ce problème :

    Error: 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'content.id = 968 OR content.id = 967 OR content.id = 966 OR content.id = 965 ' at line 27 SQL=SELECT categories.title AS cat, content.id AS ID, content.access AS access, categories.title AS cat, users.email AS author_email, users.name AS author, content_rating.rating_sum AS rating_sum, content_rating.rating_count AS rating_count, categories.id AS CID FROM g25_content AS content LEFT JOIN g25_categories AS categories ON categories.id = content.catid LEFT JOIN g25_content_frontpage AS frontpage ON content.id = frontpage.content_id LEFT JOIN g25_users AS users ON users.id = content.created_by LEFT JOIN g25_content_rating AS content_rating ON content_rating.content_id = content.id WHERE 1=1 content.id = 968 OR content.id = 967 OR content.id = 966 OR content.id = 965 OR content.id = 964 OR content.id = 963 OR content.id = 962 OR content.id = 961 OR content.id = 960 OR content.id = 959AND ( content.id = 968 OR content.id = 967 OR content.id = 966 OR content.id = 965 OR content.id = 964 OR content.id = 963 OR content.id = 962 OR content.id = 961 OR content.id = 960 OR content.id = 959) AND categories.published = 1 ORDER BY content.created DESC

    Auriez-vous une solution ? Merci d'avance.

  • #2
    Re : Erreur 1064

    Hello

    C'est le 1=1 au milieu qui fait planter la requête... Les devs qui font ce genre de code sérieux...

    Tu dois avoir un plugin de vote sur les articles, non ?
    Essaie de le désactiver pour voir si l'erreur vient de là.

    Commentaire


    • #3
      Re : Erreur 1064

      Merci Folcomedia. Je vérifie cela et je te tiens au courant.

      Commentaire


      • #4
        Re : Erreur 1064

        Envoyé par Folcomedia Voir le message
        Hello

        C'est le 1=1 au milieu qui fait planter la requête... Les devs qui font ce genre de code sérieux...

        Tu dois avoir un plugin de vote sur les articles, non ?
        Essaie de le désactiver pour voir si l'erreur vient de là.
        Pas tout à fait WHERRE 1=1 est parfaitement valide en SQL, il pose une condition qui est toujours vraie, ce qui est bien pratique quand on génère du code SQL automatiquement. Pas de soucis avec ça.

        Ce qui est nettement moins bien par contre c'est d'avoir oublié le ' AND ' à suivre pour autoriser l'ajout d'autres conditions.

        Soit Folcomedia a raison et c'est inadmissible pour les développeurs de n'avoir pas testé l'exécution ce don tje doute quand même un peu, soit (plus probablement) le code PHP du composant n'est pas compatible à 100% avec la version PHP et/ou les nouvelles librairies Joomla! et (surtout) mySQL

        Cordialement
        Il y a 10 sortes de gens. Ceux qui savent compter en binaire et ceux qui ne savent pas ...

        Commentaire


        • #5
          Re : Erreur 1064

          Je sais que WHERE 1=1 est tout à fait valide (et qu'il manque bien le AND après d'où l'erreur SQL), je dis juste qu'il y a des moyens plus propres de faire des requêtes dynamiques.

          Cela dit il doit y avoir une interaction avec Joomla 3 qui pose problème dans ce plugin, on est bien d'accord

          Commentaire


          • #6
            Re : Erreur 1064

            OMG, qui a programmé ce code SQL ? Un 1=1 est juste une abérration et cette pléthore de OR ... Un milliard de fois plus propre un WHERE (content_id IN SELECT('961','962', '963', ...))

            Programmation qui laisse planer des doutes sur la compétence du développeur...
            Christophe (cavo789)
            Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
            Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

            Commentaire


            • #7
              Re : Erreur 1064

              Envoyé par cavo789 Voir le message
              OMG, qui a programmé ce code SQL ? Un 1=1 est juste une abérration et cette pléthore de OR ... Un milliard de fois plus propre un WHERE (content_id IN SELECT('961','962', '963', ...))

              Programmation qui laisse planer des doutes sur la compétence du développeur...
              En fait c'est juste "WHERE (content_id IN (961, ...))" (pas de SELECT) mais bon là n'est pas la question.
              On va attendre les retours d'e.van quand il aura le temps de tester tout ça.

              Commentaire


              • #8
                Re : Erreur 1064

                Bonjour à tous et désolé de revenir vers vous aussi tardivement. J'ai supprimer les composants qui pouvaient, me semble-t-il, poser problème dans ma configuration (mais je tâtonne beaucoup). j'avais effectivement Acepolls pour des votes mais non-utilisé. Je l'ai supprimé mais pour le moment aucune amélioration, toujours erreur 1064. Que me conseillez-vous de faire ?
                PS : Je ne pensais pas que ce sujet allait créer autant de polémiques ! Mais cela permet de se rendre compte de l'engagement de la communauté Joomla. C'est d'ailleurs pour cette raison que j'avais choisi ce cms.

                Commentaire


                • #9
                  Re : Erreur 1064

                  Bonjour

                  Je ne vois aucune polémique ici, juste un échange d'idées. Si tu fais référence à mon intervention, je disais "juste" que je désapprouve le développeur car c'est de la programmation peu ..., comment rester poli, propre.

                  Ton problème est toujours là ? C'est donc que "le truc" est toujours publié.
                  Ne sachant pas de quoi nous parlons, difficile de t'aider : qui contient ce code alambiqué ? Est-ce un composant, est-ce un module, est-un plugin ? Je ne saurais te le dire.

                  A vue de nez (et ma vue est trouble s'il me faut regarder au loin) : je vois content_rating dans la liste des tables et donc, je me jete à l'eau : aurais-tu le plugin de type Content qui permet de voter sur un article ? Si oui, tente de le dépublier.

                  SELECT categories.title AS cat, content.id AS ID, content.access AS access, categories.title AS cat, users.email AS author_email, users.name AS author, content_rating.rating_sum AS rating_sum, content_rating.rating_count AS rating_count, categories.id AS CID FROM g25_content AS content LEFT JOIN g25_categories AS categories ON categories.id = content.catid LEFT JOIN g25_content_frontpage AS frontpage ON content.id = frontpage.content_id LEFT JOIN g25_users AS users ON users.id = content.created_by LEFT JOIN g25_content_rating AS content_rating ON content_rating.content_id = content.id WHERE 1=1 AND content.id = 968 OR content.id = 967 OR content.id = 966 OR content.id = 965 OR content.id = 964 OR content.id = 963 OR content.id = 962 OR content.id = 961 OR content.id = 960 OR content.id = 959AND ( content.id = 968 OR content.id = 967 OR content.id = 966 OR content.id = 965 OR content.id = 964 OR content.id = 963 OR content.id = 962 OR content.id = 961 OR content.id = 960 OR content.id = 959) AND categories.published = 1 ORDER BY content.created DESC

                  Si toujours erreur, désactive les plugins de type content; si toujours erreur, désactive les modules, etc. jusqu'au moment où tu trouves le coupable.

                  Je mets en rouge ci-dessus ce qui est incorrect dans ton SQL : la présence d'un critère "1=1" sans que "AND" suit avec un second critère. Quand on a plusieurs critères, il faut un (Critère1) AND (Critère2) AND ... alors que tu as (1=1) (content.id=968) ce qui est syntaxiquement faux.
                  Christophe (cavo789)
                  Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
                  Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

                  Commentaire


                  • #10
                    Re : Erreur 1064

                    Merci pour tes infoscavo789. J'ai désactivé le vote avec acepolls. Je crois que c'est le seul que je faisais justement la désactivation de mes plugins par page. Toujours la même erreur et je débutait la même opération pour les composants. Je vous tiens informés.

                    Commentaire


                    • #11
                      Re : Erreur 1064

                      Ca avance ! En dépubliant la première page de mes modules mon site est réapparu, mais sans le header ! + d'infos qu'en j'aurais affiné... Merci pour vos conseils. Je reviens vers vous un peu plus tard.

                      - - - Mise à jour - - -

                      Pour infos : http://www.ville-lagorgue.fr/fr/

                      Commentaire


                      • #12
                        Re : Erreur 1064

                        Pas mieux que cavo789, c'est malheureusement la seule méthode qui donnera des résultats dans ton cas.
                        Réactive les modules que tu as désactivés les uns après les autres jusqu'à trouver le coupable.

                        Quand on affiche ton site sans module il n'y a pas l'erreur donc c'est bien l'un d'eux qui pose problème.

                        Edit : sur une autre page, le problème est également présent, donc le module doit être publié sur toutes les pages je pense.

                        Commentaire


                        • #13
                          Re : Erreur 1064

                          Voilà ! A priori module : mod_news_pro_gk4 je l'ai changé pour un nouveau module GK5 qui fonctionne parfaitement.
                          Merci à tous pour votre aide. Bonne journée.

                          Commentaire


                          • #14
                            Re : Erreur 1064

                            Super !

                            Je confirme : "la boule de cristal n'aurait jamais permis de trouver cela sans une approche empirique, comme tu l'as faite" :-)

                            Bonne journée.
                            Christophe (cavo789)
                            Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
                            Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

                            Commentaire

                            Annonce

                            Réduire
                            Aucune annonce pour le moment.

                            Partenaire de l'association

                            Réduire

                            Hébergeur Web PlanetHoster
                            Travaille ...
                            X